寫程式期間,遇到 Error Report 是日常瑣事,那些有錯誤卻沒能回報的才是恐怖
緣起於,寫一個 “註冊” 功能,功能細分為:
(SELECT * FROM USERS;)
✅ php link mysql
✅ php insert data to mysql
✅ view mysql data
就可以結束這個回合了,我蠻好奇 Error_Report 長怎麼樣,那就 key 錯登入設定,例如 root
改為 rot
!!WT...😱 怎麼網頁會是白白的一片,我的echo
訊息咧! ((Failed to connect to MySQL:...
$mysqli = new mysqli("localhost","root","","project01");
// Check connection
if ($mysqli -> connect_errno) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
exit();
}
else{
echo "link";
}
根據我的 debug 原則:
php link mysql
,step by step 依依測試php.ini
, info.php
info.php 獲得資訊如下 (橘框處是 php.ini 路徑):
這份清單真是無從下手,請出解析這份清單的工具 Xdebug ((怎麼操作? google!
解析結果:
我總覺得我這症頭 (你看到的白是什麼白~ 一片空白) 不是沒有安裝 debug 而造成;比較像是沒有開啟設定檔的錯誤回報!
打開 php.ini
,看看是怎麼回事 (開宗名義表示,設定 php 行為的當案):
參考 php.ini的「必要」設定 一文,有以下設定:
error_reporting = E_ALL & ~E_NOTICE
output_buffering = Off
date.timezone = asia/taipei
其他幾項設定,參考文中所提,自己依自身情況設定,不明瞭的地方依照設定檔提供的網址,會有詳細的說明!
為什麼這些該被開起來的設定沒開呢?! 誰會把產品的 Error 訊息,直接顯示網頁上面? 記得產品上線時,該關的得關一關
參考:
php.ini的「必要」設定
PHP Connect to MySQL
Display All PHP Errors: Basic & Advanced Usage
[初探後端] No.2 — 使用 VS Code 開發 PHP 的 Debug 設定與 Composer 套件管理
PHP mysqli connect() Function